#ifndef __LINKLIST_H__
#define __LINKLIST_H__

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

typedef struct 
{
	int id;
	char name[10];
	int score;
}student;


typedef student datatype;

typedef struct Node
{
	union
	{
		datatype data; //数据域
		int len;
	};
	struct Node *next; //指针域
}linkList;


//创建
linkList *list_create();

//判空
int list_empty(linkList *L);

//定义申请节点函数
linkList *node_buy(datatype e);

//尾插
int list_insert_tail(linkList *L,datatype e);

//按姓名查找返回第一个查找成功的位置
int list_search_value(linkList *L,char *str);

//按位置查找返回查找到的结点
linkList *find_node(linkList *L,int pos);

//任意删
int list_delete_pos(linkList *L,int pos);

//遍历
void list_show(linkList *L);

//释放
void list_free(linkList *L);

//排序
void *sort(linkList *L);

//查找最高成绩
linkList *max(linkList *L);

//菜单
void menu();


//循环输入学生信息
void input(linkList *L,int n);


//输入学生信息
student input1();

//循环输入学生信息
void input2(linkList *L,int n);

#endif
